home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / share / demolar / Quark / data.z / QuarkXPress 4.0 Demo.exe / 0 / PSHD / 1022 < prev    next >
Text File  |  1998-01-08  |  7KB  |  142 lines

  1. /dop{dup 6 le{vrb exch get exec}{pop}ifelse}B
  2. /vrb[{fp{fg 0 get 0 ne{g n G}
  3.  {g 1 o pnsh pnsv S n G}ifelse}if np}bind
  4.  /eofill load dup/newpath load 1 index dup{u np}bind]def
  5. /fp{pnsh 0 ne pnsv 0 ne and}B
  6. /pen{pnm mul/pnsh X pnm mul/pnsv X pnsh o}B
  7. /lin{fg 0 get 0 ne{l currentpoint 0 dop m}
  8.  {currentpoint/@3 X/@4 X g np/@1 X/@2 X 
  9.  fp{@4 @2 lt{@3 @1 ge{@4 @3 m @2 @1 l pnsh 0 rl
  10.  0 pnsv rl @4 pnsh add @3 pnsv add l pnsh neg 0 rl}
  11.  {@4 @3 m pnsh 0 rl @2 pnsh add @1 l 0 pnsv rl
  12.  pnsh neg 0 rl @4 @3 pnsv add l}ifelse}{@3 @1 gt
  13.  {@2 @1 m pnsh 0 rl @4 pnsh add @3 l 0 pnsv rl
  14.  pnsh neg 0 rl @2 @1 pnsv add l}{@4 @3 m pnsh 0 rl
  15.  0 pnsv rl @2 pnsh add @1 pnsv add l pnsh neg 0 rl
  16.  0 pnsv neg rl}ifelse}ifelse cp v}if @2 @1 G m}ifelse}B
  17. /rc{dup/@flag X{/@t X g}if cps dup{5 1}{7 3}ifelse roll np
  18.  4 copy 4 2 roll exch m 6 -1 roll l l l cp @flag{@t dop G}if mif}B
  19. /cmnrr{cps np
  20.  @4 @6 add 2. div @7 m
  21.  @4 @7 @4 @5 @2 arcto p4
  22.  @4 @5 @6 @5 @2 arcto p4
  23.  @6 @5 @6 @7 @2 arcto p4
  24.  @6 @7 @4 @7 @2 arcto p4
  25.  cp mif}B
  26. /rr{/@1 X 2. div/@2 X pop/@4 X/@5 X/@6 X/@7 X
  27.  @7 @5 eq @6 @4 eq or @2 pnsh 2 div le or @2 pnsv 2 div le or
  28.  {@7 @6 @5 @4 @1 T rc}{@4 @6 sub abs 2. div dup @2 lt{/@2 X}{pop}ifelse
  29.  @5 @7 sub abs 2. div dup @2 lt{/@2 X}{pop}ifelse
  30.  @1 0 eq{@2 pnsh 2 div 2 copy gt{sub/@2 X}{p2}ifelse}if
  31.  g cmnrr @1 dop G}ifelse}B
  32. /rr1{/@2 X/@4 X/@5 X/@6 X/@7 X cmnrr}B
  33. /qa{3 -1 roll add exch 3 -1 roll add exch}B
  34. /qm{3 -1 roll 1 index mul 3 1 roll mul}B
  35. /qs{3 -1 roll sub exch 3 -1 roll sub exch}B
  36. /qp{6 copy 12 -2 roll p2}B
  37. /qn{6a exch get mul}B
  38. /qx{6a astore pop
  39.  qA 0 qn qB 2 qn add   qA 1 qn qB 3 qn add
  40.  qB 2 qn qA 4 qn add   qB 3 qn qA 5 qn add
  41.  qC 2 qn qC 4 qn add   qC 3 qn qC 5 qn add}B
  42. /bp{currentpoint np 2 copy m}B
  43. /qi{{4 copy 2 copy 10 2 roll qa .5 qm np m}{2 copy 6 -2 roll 2 qm qs 4 2 roll}ifelse}B
  44. /qc{qp qx O}B
  45. /qq{{qc 6 -2 roll qx O}{4 copy qs qa qx O}ifelse}B
  46. /ep{dup 0 eq{{m}{lin}{}{}pathforall pop}{dop}ifelse G currentpoint np m}B
  47. /ef{ff{g V G}if}B
  48. /ec{1 and 0 ne{0 dop}if G currentpoint np m}B
  49. /eu{currentpoint fp{0 ep}{G np}ifelse m}B
  50. /pt{currentpoint np m}B
  51. /barc{/@flag X/@1 X/@3 X/@4 X @flag{/@2 X}if/@5 X
  52.  /@6 X/@7 X/@8 X @flag{g}if cps mtx currentmatrix
  53.  @5 @7 add 2 div @6 @8 add 2 div t np 0 0 m
  54.  @5 @7 sub @6 @8 sub S @1{np}if
  55.  0 0 .5 @4 @3 arc @4 @3 sub abs 360 ge{cp}if
  56.  z mif @flag{@2 dop G}if}B
  57. /ar{3 1 roll 2 index 0 eq T barc}B
  58. /ov{0 360 T 4 -1 roll barc}B
  59. /tc{32768 div add 3 1 roll 32768 div add 2t astore pop}B
  60. /tp{2a astore pop}B
  61. /tt{mx2 currentmatrix pop currentpoint 2 copy 
  62.  2t aload pop qa 2 copy t 2a aload pop exch dup 0 eq
  63.  {pop}{1 eq{-1 1}{1 -1}ifelse S}ifelse 
  64.  rotate neg exch neg exch t m}B
  65. /te{mx2 z}B
  66. /px{tp tt}B
  67. /dh{fg 0 1 put array astore dup{1 xpxs div mul exch}forall
  68.  astore exch pop exch pop exch p}B
  69. /rh{fg 0 0 put ih aload pop p}B
  70. /sd{a50 0 3 -1 roll getinterval astore exch p}B
  71. /lw{div/pnm X pnsv pnsh pen}B
  72. /gr{64. div H}B
  73. /sg{rstrscr gr}B
  74. /pat{savscr sa8 copy pop patfr 0
  75.  [{1 add 4 mul cvi}aload pop sa8
  76.  {exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}aload pop]cvx setscreen gr}def
  77. /cpat{savscr 7 -1 roll sa8 copy pop patfr 0
  78.  [{1 add 4 mul cvi}aload pop sa8
  79.  {exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}aload pop]cvx
  80.  8 -1 roll sb8 copy pop patfr 0
  81.  [{1 add 4 mul cvi}aload pop sb8
  82.  {exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}aload pop]cvx
  83.  9 -1 roll sc8 copy pop patfr 0
  84.  [{1 add 4 mul cvi}aload pop sc8
  85.  {exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}aload pop]cvx
  86.  10 -1 roll sd8 copy pop patfr 0
  87.  [{1 add 4 mul cvi}aload pop sd8
  88.  {exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}aload pop]cvx
  89.  setcolorscreen setcmykcolor}def
  90. /savscr{ns not{/ns T def cmykprsnt
  91.  {currentcolorscreen currentcolortransfer count 16 roll}
  92.  {currentscreen ctf count 4 roll}ifelse st0}if}def
  93. /rstrscr{ns{cmykprsnt{count -16 roll systemdict/setcolortransfer known
  94.  {cstf}{stf p3}ifelse setcolorscreen}
  95.  {count -4 roll stf setscreen}ifelse/ns F def}if}def
  96. /setclp{np 0 0 m
  97.  ct1 99 get 0 ne{ct1 0 ct1 99 get getinterval cvx exec}if
  98.  ct2 ctz get 256 mul ct2 ctz 1 add get add dup 0 ne
  99.  {dup ct2 0 3 -1 roll getinterval cvx exec}if pop cps np mif}B
  100. /spcldr{dup doss ss and{sym fmtx makefont/xpfs X
  101.  0 0 3 -1 roll{s1 0 3 -1 roll put
  102.  s1 chkch{g xpfs setfont w G}
  103.  {w}ifelse 3 -1 roll add 3 1 roll add exch}forall}
  104.  {w}ifelse pop 3 -1 roll exch sub 3 -1 roll
  105.  /numz 5 -1 roll def numz 10 mul add div numz 0 eq
  106.  {0 0}{dup 10 mul 0}ifelse 32 4 -1 roll 0 6 -1 roll
  107.  doss ss and{xpash p3}{Q}ifelse}B
  108. /eto {0 1 2 index length 1 sub{2 copy 1 getinterval exch pop currentpoint
  109.  3 -1 roll M m exch 0 rm}for pop}B
  110. /calcbnd{72 72 mtx defaultmatrix dtransform abs exch abs 2 copy lt{exch}if
  111.  /devpxwd 72 3 -1 roll div def/languagelevel where{pop languagelevel}
  112.  {1}ifelse 2 ge{pop 256}{/currentcolorscreen where
  113.  {pop currentcolorscreen p2 3{3 index 2 copy lt{exch}if 5 1 roll p4}repeat}
  114.  {currentscreen p2}ifelse div dup mul round cvi 15 add 16 idiv dup 1 lt{pop 1}if
  115.  16 mul dup 256 gt{pop 256}if}ifelse minblnd 2 copy lt{exch}if pop/maxblnd X}B
  116. /setsepval{dup -1 eq{pop aload pop setcmykcolor}
  117.  {setcustomcolor}ifelse currentgray}B
  118. /setcompval{dup -1 eq{pop aload pop}
  119.  {exch aload p2 4{4 index mul 4 1 roll}repeat 5 -1 roll pop}ifelse}B
  120. /blnd{dup/blmode X 2 eq{/k1 X/y1 X/m1 X/c1 X/k0 X/y0 X/m0 X/c0 X}{/k1 X/k0 X}ifelse
  121.  k1 k0/@1 X/@2 X blmode 2 eq{@2 @1 sub abs c1 c0 sub abs 2 copy lt
  122.  {exch c1 c0/@1 X/@2 X}if pop m1 m0 sub abs 2 copy lt
  123.  {exch m1 m0/@1 X/@2 X}if pop y1 y0 sub abs lt{y1 y0/@1 X/@2 X}if}if
  124.  @1 @2 blmode 2 eq{1 exch sub exch 1 exch sub}if 2 copy lt{exch}if
  125.  sub maxblnd mul round cvi dup dup/blstp X 0 eq{pop 1}if
  126.  /blw 256 blstp 1 add div def/kstp k1 k0 sub 2 index div def
  127.  blmode 2 eq{/cstp c1 c0 sub 2 index div def/mstp m1 m0 sub 2 index div def
  128.  /ystp y1 y0 sub 2 index div def}if pop g np[]0 p 0 a
  129.  blw dup dup devpxwd dup add add o 2 div blstp 1 add
  130.  blmode 2 eq{{c0 m0 y0 k0 setcmykcolor dup 0 m 0 256 rl n 1 index add
  131.  /c0 c0 cstp add def/m0 m0 mstp add def/y0 y0 ystp add def/k0 k0 kstp add def}repeat}
  132.  {{k0 blmode 0 eq{H}{sepgr}ifelse dup 0 m 0 256 rl n 1 index add/k0 k0 kstp add def}repeat
  133.  }ifelse p2 G}B
  134. /custblnd{dup -2 eq{doregblnd{exch dup length 1 sub get 1 exch sub exch T F}
  135.  {pop dup length 6 eq{dup 0 5 getinterval exch 5 get}{0 4 getinterval -1}ifelse T}ifelse}{T}ifelse
  136.  {dup -1 eq{F}{1 index docust exch pop}ifelse}if
  137.  5 -2 roll dup -2 eq{doregblnd{exch dup length 1 sub get 1 exch sub exch T F}
  138.  {pop dup length 6 eq{dup 0 5 getinterval exch 5 get}{0 4 getinterval -1}ifelse T}ifelse}{T}ifelse
  139.  {dup -1 eq{F}{1 index docust exch pop}ifelse}if 6 -3 roll 4 -1 roll or
  140.  {dup -2 eq{pop}{setsepval}ifelse 3 1 roll dup -2 eq{pop}{setsepval}ifelse exch 1 blnd}
  141.  {setcompval 6 -2 roll setcompval 8 -4 roll 2 blnd}ifelse}B
  142.